home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / clang / mempool.zip / MEMPOOL.H < prev   
C/C++ Source or Header  |  1994-02-10  |  635b  |  37 lines

  1. // listing 1.
  2.  
  3. #ifndef MEMPOOL_H
  4. #define MEMPOOL_H
  5.  
  6. #include <stddef.h>
  7.  
  8. const CharSize = 8;
  9. const PoolSize = 
  10.   sizeof(unsigned long)*CharSize;
  11.  
  12. class MemoryPoolLink {
  13. private:
  14. friend class MemoryPool;
  15.   MemoryPoolLink(size_t _size, 
  16.     MemoryPoolLink *_next);
  17.   ~MemoryPoolLink();
  18.   void *malloc(size_t size);
  19.   void free(void *, size_t size);
  20.   unsigned long bits;
  21.   MemoryPoolLink *next;
  22.   char *data;
  23. };
  24.  
  25. class MemoryPool {
  26.   MemoryPoolLink freeHead;
  27.   MemoryPoolLink usedHead;
  28.   size_t size;
  29. public:
  30.   MemoryPool(size_t size);
  31.   void *add();
  32.   void *malloc();
  33.   void free(void *);
  34. };
  35.  
  36. #endif
  37.